package com.smartfactory.sail.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.smartfactory.sail.entity.enums.LogisticsModeEnum;
import com.smartfactory.sail.entity.enums.LogisticsStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 物流信息表
 * </p>
 *
 * @author 王巨壁
 * @since 2019-07-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Logistics对象", description="物流信息表")
public class Logistics implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty(value = "物流单编码")
    @TableField("logisticsCode")
    private String logisticsCode;

    @ApiModelProperty(value = "订单id")
    @TableField("orderId")
    private Long orderId;

    @ApiModelProperty(value = "物流方式1快递2物流具体参考constants")
    @TableField("logisticsMode")
    private LogisticsModeEnum logisticsMode;

    @ApiModelProperty(value = "多个单号用|隔开")
    @TableField("logOrderNums")
    private String logOrderNums;

    @ApiModelProperty(value = "物流公司名称")
    @TableField("logisticsCompanyName")
    private String logisticsCompanyName;

    @ApiModelProperty(value = "车牌")
    @TableField("carNu")
    private String carNu;

    @ApiModelProperty(value = "司机姓名")
    @TableField("driverName")
    private String driverName;

    @ApiModelProperty(value = "司机手机号码")
    @TableField("driverPhone")
    private String driverPhone;

    @ApiModelProperty(value = "custId")
    @TableField("custId")
    private Long custId;

    @ApiModelProperty(value = "客户名称-客户名称会变动合同中只记录当前名称")
    @TableField("custName")
    private String custName;

    @ApiModelProperty(value = "收货人姓名")
    private String consignee;

    @ApiModelProperty(value = "联系电话")
    private String phone;

    @ApiModelProperty(value = "收货地址")
    private String addr;

    @ApiModelProperty(value = "预计到达时间yyyy-MM-DD")
    @TableField("expectArriveDate")
    private String expectArriveDate;

    @ApiModelProperty(value = "预计到达时间yyyy-MM-DD")
    @TableField("actualArriveDate")
    private String actualArriveDate;

    @ApiModelProperty(value = "物流状态具体参考constants可能没有")
    @TableField("logisticsStatus")
    private LogisticsStatusEnum logisticsStatus;

    @ApiModelProperty(value = "创建人")
    @TableField("createUser")
    private String createUser;

    @ApiModelProperty(value = "创建时间yyyy-MM-dd HH:mm:ss")
    @TableField("createTime")
    private String createTime;

    @ApiModelProperty(value = "修改人")
    @TableField("updateUser")
    private String updateUser;

    @ApiModelProperty(value = "更新时间yyyy-MM-dd HH:mm:ss")
    @TableField("updateTime")
    private String updateTime;


}
